/* =====================================
   MIGRATED TABLE – START
===================================== */

.migrated-table {
    width: 75%;
    margin: 0 auto;
    border-collapse: collapse;
    border: 2px solid #bbb;
    table-layout: auto;
    font-size: 16.5px;
}

/* Header row */
.migrated-table thead th {
    background-color: #e0e0e0;
    color: #000 !important;
    font-size: 14px;
    font-weight: 600;
    text-align: center;
    padding: 8px 6px;
    border: 1px solid #ddd;
    vertical-align: middle;
}

/* Table cells */
.migrated-table td {
    padding: 6px 6px;
    border: 1px solid #ddd;
    vertical-align: middle;
    line-height: 1.3;
    overflow: visible;
}

/* Remove extra paragraph spacing inside cells */
.migrated-table td p {
    margin: 0;
    padding: 0;
}

/* Keep embedded media inline inside table cells */
.migrated-table td drupal-entity,
.migrated-table td .media,
.migrated-table td .media--view-mode-media_embed {
    display: inline;
    margin: 0;
    padding: 0;
    line-height: 1;
}

/* Column alignment */
.migrated-table td:nth-child(1),
.migrated-table td:nth-child(2) {
    text-align: left;
}

.migrated-table td:nth-child(3) {
    text-align: center;
}

/* =====================================
   COLUMN WIDTH OPTIMIZATION
===================================== */

.migrated-table th:nth-child(1),
.migrated-table td:nth-child(1) {
    width: 18%;
}

.migrated-table th:nth-child(2),
.migrated-table td:nth-child(2) {
    width: 44%;
}

.migrated-table th:nth-child(3),
.migrated-table td:nth-child(3) {
    width: 38%;
}

/* =====================================
   COLUMN 2 — WRAPPING ENABLED
===================================== */

.migrated-table th:nth-child(2),
.migrated-table td:nth-child(2) {
    white-space: normal;
    overflow-wrap: break-word;
    word-break: break-word;
    padding-left: 11px;
    padding-right: 4px;
}

/* Adjust neighbor padding */
.migrated-table td:nth-child(1),
.migrated-table th:nth-child(1) {
    padding-left: 11px;
    padding-right: 6px;
}

.migrated-table td:nth-child(3),
.migrated-table th:nth-child(3) {
    padding-left: 6px;
    padding-right: 6px;
}

/* =====================================
   COLUMN 1 LINKS — BOLD, UNDERLINE ON HOVER
===================================== */

.migrated-table td:nth-child(1) a.pdf__media,
.migrated-table td:nth-child(1) a.pdf__media:link,
.migrated-table td:nth-child(1) a.pdf__media:visited {
    font-weight: 700 !important;
    text-decoration: none !important;
    color: #005ea2 !important;
}

.migrated-table td:nth-child(1) a.pdf__media:hover {
    text-decoration: underline !important;
    color: #003f73 !important;
}

.migrated-table td:nth-child(1) a.pdf__media:active,
.migrated-table td:nth-child(1) a.pdf__media:focus {
    text-decoration: underline !important;
    color: #002a4d !important;
}

/* =====================================
   COLUMN 3 LINKS — NORMAL
===================================== */

.migrated-table td:nth-child(3) a.pdf__media {
    font-weight: normal !important;
    text-decoration: underline;
    color: #005ea2 !important;
}

/* =====================================
   GLOBAL DRUPAL MEDIA EMBED — INLINE FIX
   (Affects ONLY media_embed view mode)
===================================== */

.media--view-mode-media_embed {
    display: inline !important;
    vertical-align: baseline;
}

.media--view-mode-media_embed p {
    display: inline;
    margin: 0;
    padding: 0;
}

.media--view-mode-media_embed .field {
    display: inline;
}

.media--view-mode-media_embed a {
    display: inline;
}

/* ================================
   RESPONSIVE STACKING
================================ */

@media (max-width: 768px) {

    .migrated-table {
        width: 100%;
        border: none;
    }

    .migrated-table thead {
        display: none;
    }

    .migrated-table,
    .migrated-table tbody,
    .migrated-table tr,
    .migrated-table td {
        display: block;
        width: 100%;
    }

    .migrated-table tr {
        margin-bottom: 15px;
        border: 1px solid #ddd;
        padding: 10px;
    }

    .migrated-table td {
        border: none;
        text-align: left !important;
        padding: 5px 0;
        overflow: visible;
        white-space: normal;
    }

    .migrated-table td::before {
        content: attr(data-label);
        font-weight: bold;
        display: block;
        margin-bottom: 3px;
    }
}

/* =====================================
   MIGRATED TABLE – END
===================================== */





/*cms-style.css*/
.DefaultParagraph-1,
.DefaultParagraph-1+div {
    font-size: 0.65em !important;
}

p.DefaultParagraph-1 a {
    font-size: 1em !important;
}

/* -----------------------------
   FIX ADCVD STICKY POSITION
----------------------------- */
.views-element-container:has(.view-factsheet-t5-new-cards) {
    position: relative !important;
    top: -50px !important;
    bottom: auto !important;
    z-index: auto !important;
}


/* -----------------------------
  CARD SET LAYOUT
----------------------------- */

/* ---------------------------*/
/* single row */
/* ---------------------------*/

/* Make grid items stretch */
.views-view-responsive-grid__item,
.views-view-responsive-grid__item-inner {
    height: 100%;
}

/* Make the card fill the grid item */
.ita-static-cards {
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Let middle content grow */
.ita-static-cards__middle {
    flex: 1 1 auto;
}

/* Keep CTA at the bottom */
.ita-static-cards__bottom {
    margin-top: auto;
}

/* ---------------------------*/
/* multi row */
/* ---------------------------*/
/* 50px gap between rows and columns */
.views-view-responsive-grid {
    --views-responsive-grid--layout-gap: 50px;
}

/* Ensure grid items stretch */
.views-view-responsive-grid__item,
.views-view-responsive-grid__item-inner {
    height: 100%;
}

/* Card equal height */
.ita-static-cards {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 320px; /* control card height here */
}

/* Allow middle content to expand */
.ita-static-cards__middle {
    flex: 1 1 auto;
}

/* Pin CTA to bottom */
.ita-static-cards__bottom {
    margin-top: auto;
}


/* ===============================
   Views Responsive Grid – FIX
   =============================== */

/* Desktop */
.views-view-responsive-grid {
    --views-responsive-grid--column-count: 3;
}

/* Tablet: 2 columns */
@media (max-width: 1024px) {
    .views-view-responsive-grid {
        --views-responsive-grid--column-count: 2;
        --views-responsive-grid--cell-min-width: 300px !important;
    }
}

/* Mobile: stack vertically */
@media (max-width: 640px) {
    .views-view-responsive-grid {
        --views-responsive-grid--column-count: 1;
        --views-responsive-grid--cell-min-width: 100% !important;
    }
}

/* ==========================================
   FIX: Single-row grid responsiveness ONLY
   ========================================== */

/* Tablet: force wrapping */
@media (max-width: 1024px) {
    .views-view-responsive-grid:has(.view-factsheet-t5-new-cards) {
        --views-responsive-grid--column-count: 2 !important;
        --views-responsive-grid--cell-min-width: 320px !important;
    }
}

/* Mobile: stack vertically */
@media (max-width: 640px) {
    .views-view-responsive-grid:has(.view-factsheet-t5-new-cards) {
        --views-responsive-grid--column-count: 1 !important;
        --views-responsive-grid--cell-min-width: 100% !important;
    }
}







.List-1 span,.layout__region {
    font-size: 1em !important;
}

p.yiv9477977922MsoNormal {
    font-size: 0.8em !important;
}

.ita-content-page__body p {
    font-size: 0.9em !important;
}

.layout__region div p {
    font-size: 1em !important;
}

.col-1 .layout--onecol{
    /*font-size: 1.9em !important;*/
}

.copy-link-wrap {
    width: 150px;
    border: 1px solid #ccc;
    padding: 4px 5px;
    border-radius: 10px;
}

.copy-icon {
    width: 23px;
    height: 20px;
    margin-bottom: -3px;
}
.copy-urllink {
    font-size: 0.9em;
    font-weight: bold;
}

.ccg_butt {
    display: inline;
    position: relative;
    float: right;
    height: 95px;
    width: 295px;
    align-items: center;
    align-content: center;
    background-color: lightgray;
    padding: 10px 10px;
    margin: 35px 60px 0px;
}

.ccg_butt .ita-cta-button {
    width: 210px;
    display: flex;
    align-items: center;
    margin: auto;
    font-size: 12px;
    padding: 12px 0px 12px 25px !important;
    background-color: #162e51;
}

@media (max-width: 768px) {
    .ccg_butt {
        margin: 20px auto;
    }
}
button[aria-labelledby="Apply"]{
    height: 40px !important;
    width: 115px !important;
    font-family: "PublicSans", Arial, Verdana, sans-serif !important;
    font-weight: 700 !important;
    font-style: normal !important;
    font-size: large !important;
}
.local-offices-block .views-element-container {
    position: relative !important;
    top: 0 !important;;
    bottom: 20px !important;;
    z-index: 51 !important;;
}
.ita-cta__button--next {
    margin-top:20px !important;
    position: absolute !important;
}
strong {
    font-weight: bold !important;
}


/* ==============================
   Hide the original PDF upload field completely
   ============================== */

/* Hide the entire container two levels up from the PDF file link */
div:has(> div > .file.file--mime-application-pdf) {
    display: none !important;
}
/* ==============================
   Download PDF button styles
   ============================== */
.download-pdf-wrapper {
    width: 100%;
    display: flex;
    justify-content: flex-end;
    margin-bottom: 10px;
    box-sizing: border-box;
}

.download-pdf-button {
    display: inline-flex;
    align-items: center;
    background-color: #004b84;
    color: #ffffff !important;
    font-weight: 500;
    border-radius: 4px;
    margin-right: 50px;
    padding: 7px 12px 7px 32px !important;
    background-position: 10px center;
    text-decoration: none;
    font-size: 0.90rem;
    border: none;
    transition: background-color 0.2s ease, box-shadow 0.2s ease;
    background-image: url('/themes/custom/ita/images/svg/pdf-download.svg');
    background-repeat: no-repeat;
    background-position: 4px center; /* adjust horizontal position as needed */
    background-size: 26.5px auto; /* adjust icon size */
}
/* ==============================
   Video CTA Banner
   ============================== */
.ita-cta-layout {
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.ita-cta-left,
.ita-cta-right {
    width: 50% !important;
}

.cta-video {
    width: 100%;
    height: auto;
    display: block;
}

.ita-cta__image img {
    width: 100%;
    height: auto;
    display: block;
}

.ita-cta.ita-cta--50-50 {
    display: flex;
    gap: 20px; /* gutter between media and text */
    align-items: flex-start;
}

.ita-cta.ita-cta--50-50 .ita-cta__media,
.ita-cta.ita-cta--50-50 .ita-cta__content {
    width: 50%;
}

.ita-cta.ita-cta--50-50 video,
.ita-cta.ita-cta--50-50 img {
    max-width: 100%;
    height: auto;
    display: block;

/**************************/



/* ==============================
3-in-a-row layout for static cards
=============================== */

/* 1) Make each grid item stretch fully */
.views-view-responsive-grid__item,
.views-view-responsive-grid__item-inner,
.views-col {
    height: 100%;
}

/* 2) Make the actual card a flex column that fills the height */
.ita-static-cards {
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* 3) Let the middle section grow to fill the space */
.ita-static-cards__middle {
    flex-grow: 1;   /* pushes bottom to stay aligned */
}

/* 4) Ensure bottom CTA stays at the very bottom */
.ita-static-cards__bottom {
    margin-top: auto;
}

/* ==================================
   FOR NEW FACTSHEET T5 CARD BLOCK
   Equal heights + synced sticky scrolling
=================================== */

/* Responsive grid spacing */
#factsheet-t5-new-cards-block {
    display: flex;
    flex-wrap: wrap;
    gap: 20px; /* space between cards */
    margin-top: 20px;
    position: relative; /* prevents interference from sidebar sticky */
    contain: layout;    /* isolates this block for layout purposes */
}

/* Column wrapper */
#factsheet-t5-new-cards-block .views-col.col-3 {
    display: flex;
    flex-direction: column;
    height: 100%;
    width: calc(33.333% - 13.333px); /* desktop default 3 per row */
}

/* Card */
#factsheet-t5-new-cards-block .ita-static-cards {
    display: flex;
    flex-direction: column;
    height: 100%;  /* ensures equal height */
    width: 100%;
}

/* Middle section stretches to fill remaining space */
#factsheet-t5-new-cards-block .ita-static-cards__middle {
    flex-grow: 1;
}

/* Bottom CTA stays at bottom */
#factsheet-t5-new-cards-block .ita-static-cards__bottom {
    margin-top: auto;
}

/* Tablet: 2 cards per row */
@media (min-width: 768px) and (max-width: 991px) {
    #factsheet-t5-new-cards-block .views-col.col-3 {
        width: calc(50% - 10px);
    }
}

/* Mobile: 1 card per row */
@media (max-width: 767px) {
    #factsheet-t5-new-cards-block .views-col.col-3 {
        width: 100%;
    }
}

/* Optional: minimum height for visual alignment */
#factsheet-t5-new-cards-block .ita-static-cards {
    min-height: 250px; /* adjust to typical card content */
}

/* -----------------------------
   Localized sticky behavior
   Synced with sidebar
----------------------------- */
#factsheet-t5-new-cards-block {
    /*position: -webkit-sticky;*/
    /*position: sticky;*/
    top: 210px; /* match sidebar top offset */
    z-index: 10; /* slightly above page content, below nav */
}

/* Make sure the sticky doesn't overflow or hide behind footer */
body #factsheet-t5-new-cards-block {
    overflow: visible;
}

.contextual-region {
    margin-top: 240px !important;
}

.views-view-responsive-grid--horizontal {
    row-gap: 1.85rem;   /* or 20px, 30px... */
}

/* ================================
   Speech layout
================================ */
.speech-info {
    margin-bottom: 1rem;
}

/* Info block text */
.speech-info > div {
    margin-bottom: 0.25rem;
}

.speech-info__prepared_or_delivered {
    font-style: italic;
}

/* Media (video) */
.speech-media {
    float: right;
    width: 33%;
    margin-left: 1rem;
    margin-bottom: 1rem;
    margin-top: 1em;
}

.speech-media > * {
    width: 100%;   /* Make wrapper fit 33% */
}

.speech-media video {
    width: 100%;   /* Fit video to container */
    height: auto;
    display: block;
}

/* Body text wraps around video */
.speech-body {
    overflow: hidden; /* optional: clears float below video if needed */
}

/* Optional: spacing for text wrapping nicely */
.speech-body p {
    margin-bottom: 1rem;
}

.speech-media img {
    width: 100%;
    height: auto;
    display: block;
}
.speech-image-caption {
    font-size: 0.85rem;
    color: #555;
    margin-top: 0.35rem;
    line-height: 1.3;

    font-style: italic;
}